package com.ruoyi.contarct.service;

import java.text.ParseException;
import java.util.List;
import com.ruoyi.contarct.domain.HouseContarct;
import org.omg.CORBA.OBJ_ADAPTER;
import org.springframework.data.domain.Page;

/**
 * 合同Service接口
 * 
 * @author hct
 * @date 2022-02-16
 */
public interface IHouseContarctService 
{
    /**
     * 查询合同
     * 
     * @param id 合同主键
     * @return 合同
     */
    public HouseContarct selectHouseContarctById(Long id);

    /**
     * 查询合同列表
     * 
     * @param houseContarct 合同
     * @return 合同集合
     */
    public List<HouseContarct> selectHouseContarctList(HouseContarct houseContarct);

    /**
     * 新增合同
     * 
     * @param houseContarct 合同
     * @return 结果
     */
    public Object insertHouseContarct(HouseContarct houseContarct);

    /**
     * 修改合同
     * 
     * @param houseContarct 合同
     * @return 结果
     */
    public int updateHouseContarct(HouseContarct houseContarct,Long userId);

    /**
     * 批量删除合同
     * 
     * @param ids 需要删除的合同主键集合
     * @return 结果
     */
    public int deleteHouseContarctByIds(Long[] ids);

    /**
     * 批量修改
     * @param ids
     * @return
     * @throws Exception
     */
    public int udHouseContarctByIds(Long[] ids,String userName)throws Exception ;

    /**
     * 删除合同信息
     * 
     * @param id 合同主键
     * @return 结果
     */
    public int deleteHouseContarctById(Long id);


    /**
     * 合同审核
     * @param id
     * @return
     */
    public Object contarctApply(Long id,Long userId,String userName) throws Exception;



    /**
     * 合同驳回
     * @param id
     * @return
     * @throws Exception
     */
    public Object contarctReject(Long id,String remark,Long userId,String userName) throws Exception;

    /**
     * 合同详情
     * @param id
     * @return
     * @throws Exception
     */
    public Object getContarctData(Long id) throws Exception;


    /**
     * 提交合同
     * @param id
     * @return
     * @throws Exception
     */
    public Object commitContarct(Long id,String userName,Long userId) throws Exception;


    /**
     * 作废
     * @param id
     * @return
     * @throws Exception
     */
    public Object contarctToVoid(Long id,Long userId,String userName) throws Exception;


    /**
     * 结算
     * @return
     * @throws Exception
     */
    public Object contarctDetailForSettle(Long id) throws Exception;

    /**
     * 还有几天到期的合同
     * @param day 合同
     * @return 合同集合
     */
    public List<HouseContarct> getDaoqiHouseContarctList(int day);

}
